;:sys36864 ;.opt oo *= $c000 vicinit =65409 strout =$ab1e cr =13 bas =43 getkey =65508 end =45 tmp =2 tmp2 =4 axout =$bdcd stradr =$22 link =$a533 latch =$cf00 latch2 =$ce00 bsout =$ffd2 nr =6 konf =1 oldanf =$5f oldend =$5a newend =$58 bltuc =$a3bf jmp fangan endmerk .word 0 quot .byt 0 zeig .byt 0 temp .byt 0 code .byte "adc\xa0asl\xa0bcc\xa0bcs\xa0beq\xa0bmi\xa0bne\xa0bpl\xa0bvc\xa0bvs\xa0" .byte "clCclIclVcmp\xa0cpx\xa0cpy\xa0dec\xa0deXdeYinc\xa0" .byte "inXinYjmp\xa0jsr\xa0lda\xa0ldx\xa0ldy\xa0lsr\xa0phAphP" .byte "plAplPrtIrtSsbc\xa0seCseIsta\xa0stx\xa0" .byte "sty\xa0taXtaYtxAtyA,Y,XwritEtmPviCsiDbsouT" .byte "pagElatcHtemPnop\xa0strouTspacE" .byte "axouTrepeaTcalCbilDfarB.byt\xa0linEirQkeYiniT" .byte "finD" .byt 0 mask .byte "\x93\x08\x0e\x12Packer fuer PROFI-ASS Quelltexte" .byte "(c) N.Heusler 110886 \x05" .byt cr .byte " " .byt 0 frage .byte "\x12 P \x92 acken oder \x12 E \x92 ntpacken ?\x11\x11" .byt cr,0 nix .byte "Kein Programm im Speicher !" .byt cr,0 zei .byt cr .byte "\x91\x9a Zeile \x05" .byt 0 fangan jsr vicinit lda #mask jsr strout ldy #1 lda (bas),y bne intus lda #nix jmp strout intus lda #frage jsr strout j jsr getkey cmp #"e" beq qentpack cmp #"p" bne j beq pack qentpack jmp entpack pack jsr parametr zeile jsr get jsr put jsr get jsr put tax bne weiter jmp clr weiter lda #zei jsr strout jsr get tax jsr put jsr get jsr put jsr axout ldx #0 stx quot getline jsr get sta latch,x inx tay bne getline l1 lda latch,y beq l4 cmp #34 bne l1a lda quot eor #-1 sta quot lda #34 l1a bit quot bpl l1b sty zeig jsr put ldy zeig iny bne l1 l1b ldx #-1 stx nr l7 inc nr sty zeig l2 inx lda code,x beq l3 sta temp and #$7f cmp latch,y bne l5 iny lda temp bpl l2 dey sty zeig lda nr cmp #50 bcs zwei clc adc #204 bne goon zwei pha lda #254 jsr put pla sec sbc #49 bne goon l5 dex l6 inx lda code,x bpl l6 ldy zeig jmp l7 l3 ldy zeig lda latch,y goon jsr put ldy zeig iny jmp l1 l4 jsr put jmp zeile parametr lda end ldy end+1 sta endmerk sty endmerk+1 lda bas ldy bas+1 sta tmp sty tmp+1 sta tmp2 sty tmp2+1 rts get ldy #0 lda (tmp),y inc tmp bne ret inc tmp+1 ret rts put ldy #0 sta (tmp2),y inc tmp2 bne ret inc tmp2+1 rts clr jsr link lda stradr clc adc #2 sta end lda stradr+1 adc #0 sta end+1 lda #$19 sta $16 lda end ldy end+1 sta $2f sty $30 sta $31 sty $32 jsr $a81d jsr $ffe7 jmp $a687 romof sei lda #53 sta konf rts romon lda #55 sta konf cli rts entpack jsr parametr ezeile jsr get jsr put jsr get jsr put tax bne eweiter jmp clr eweiter lda #zei jsr strout jsr get tax jsr put jsr get jsr put jsr axout ldx #0 stx quot close jsr get tax beq e1 cmp #34 bne e2 lda quot eor #-1 sta quot lda #34 e2 bit quot bpl e3 e4 jsr put jmp close e1 jsr put jmp ezeile e3 cmp #204 bcc e4 cmp #254 beq ezwei bcs e4 sec sbc #204 jmp e5 ezwei jsr get clc adc #49 e5 tax ldy #-1 inx e6 dex beq e7 e8 iny lda code,y bpl e8 bmi e6 e7 sty zeig jsr insert ldy zeig e9 iny lda code,y php and #$7f sty zeig jsr put ldy zeig plp bpl e9 jmp close insert lda #0 sta nr lda tmp2 sta oldanf lda tmp2+1 sta oldanf+1 lda end sta oldend lda end+1 sta oldend+1 ea iny inc nr lda code,y bpl ea lda end clc adc nr sta newend sta end lda end+1 adc #0 sta newend+1 sta end+1 jsr bltuc lda tmp clc adc nr sta tmp lda tmp+1 adc #0 sta tmp+1 rts